#pragma once
#include <game/Config.h>

#include <xml/Object.h>
#include <memory>

ARELLO_GAME_NAMESPACE_DECL_START
namespace flow {
class Manager;

class FlowDefinition
	: private xml::ObjectANSI
{
public:
	FlowDefinition();
	~FlowDefinition();

	xml::Object* GetLoader() { return this; }

	std::auto_ptr<Manager> ReleaseFlowManager();
private: // xml::ObjectANSI
	virtual bool on_node(xml::Provider * prov, const std::string & name);
private:
	std::auto_ptr<Manager> flowManager;
};

} // namespace flow
ARELLO_GAME_NAMESPACE_DECL_END